package com.zbb.exam_system.service;

import com.zbb.exam_system.dto.TableDto;
import com.zbb.exam_system.entity.Question;

import java.util.List;

/**
 * @author zbbstart
 * @date 2021/2/12 - 13:04
 */
public interface QuestionService {
    /**
     * 分页查询获取所有的题目
     *
     * @param pageNo 页码
     * @param size   页面的大小
     * @return 所有的题目
     */
    TableDto getAllQuestionsByPage(Integer pageNo, Integer size);

    /**
     * 新增题目
     *
     * @param question 前端题目信息的封装
     * @param token    前端鉴权加密的用户信息
     */
    void addQuestion(Question question, String token);

    /**
     * 修改题目
     *
     * @param question 前端题目信息的封装
     */
    void updateQuestion(Question question);

    /**
     * 根据题目的编号获取编号
     * @param questionId 题目编号
     * @return 获取该题
     */
    Question getQuestionByQuestionId(Integer questionId);

    /**
     * 根据老师编号查询其当前创建的题目
     * @param teacherNo 老师编号
     * @return 获取老师创建的所有题目
     */
    List<Question> getQuestionsByTeacherNo(Integer teacherNo);

    /**
     * 删除题目
     * @param questionIds 问题编号列表
     * @param token  前端鉴权加密的用户信息
     */
    void deleteQuestions(List<Integer> questionIds, String token);

    /**
     * 模糊查询
     * @param keyWord 关键字
     * @param pageNo 页码
     * @param size 页面的大小
     * @return 模糊查询出的所有题目
     */
    TableDto likeSearchQuestions(String keyWord,Integer pageNo, Integer size);
}
